package cn.lixufeng.pet.service;

import cn.lixufeng.basic.service.IBaseService;
import cn.lixufeng.basic.utils.PageList;
import cn.lixufeng.pet.domain.Pet;
import cn.lixufeng.pet.domain.SearchMasterMsg;
import cn.lixufeng.pet.query.SearchMasterMsgQuery;

/**
 * 发布寻主消息
 */
public interface ISearchMasterMsgService extends IBaseService<SearchMasterMsg> {

    /**
     * 发布寻主消息
     * @param searchMasterMsg
     * @param loginInfoId
     */
    void publish(SearchMasterMsg searchMasterMsg, Long loginInfoId);

    /**
     * 查询待处理寻主消息
     * @param query
     * @param id
     * @return
     */
    PageList<SearchMasterMsg> pending(SearchMasterMsgQuery query, Long id);

    /**
     * 查询已处理寻主消息
     * @param query
     * @param id
     * @return
     */
    PageList<SearchMasterMsg> processed(SearchMasterMsgQuery query, Long id);

    /**
     * 查询用户消息
     * @param query
     * @param id
     * @return
     */
    PageList<SearchMasterMsg> findUserMsg(SearchMasterMsgQuery query, Long id);

    /**
     * 处理寻主消息
     * @param pet
     * @param id
     */
    void handle(Pet pet, Long id);

}
